<template>
  <div id="app">
    <h3>案例：折叠面板</h3>
    <div>
      <div class="title">
        <!-- <h4>芙蓉楼送辛渐</h4> -->
        <slot name="title"></slot>
        <span class="btn" @click="btn"> {{ isShow?'收起':'展开' }} </span>
      </div>
      <div class="container" v-show="isShow">
        <!-- <p>寒雨连江夜入吴,</p>
        <p>平明送客楚山孤。</p>
        <p>洛阳亲友如相问，</p>
        <p>一片冰心在玉壶。</p> -->
        <!-- slot是vue内置的标签 叫 插槽  -->
        <!-- 
          :row="defaultObj" 表示将defaultObj对象通过row属性传递给父组件 
          像这种插槽，我们叫它作用域插槽  
        -->
        
        <slot :row="defaultObj" name="content">
          <!-- 设置插槽默认内容 -->
          {{ defaultObj.defaultOne }}
        </slot>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isShow: true,
      defaultObj:{
        defaultOne: "无名氏",
        defaultTwo: "小传tongxue"
      }
    };
  },
  methods: {
    btn(){
      // this.isShow = false
      this.isShow = !this.isShow
    }
  }
};
</script>

<style>
body {
  background-color: #ccc;
}
#app {
  width: 400px;
  margin: 20px auto;
  background-color: #fff;
  border: 4px solid blueviolet;
  border-radius: 1em;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
  padding: 1em 2em 2em;
}
h3 {
  text-align: center;
}
.title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #ccc;
  padding: 0 1em;
}
.title h4 {
  line-height: 2;
  margin: 0;
}
.container {
  border: 1px solid #ccc;
  padding: 0 1em;
}
.btn {
  /* 鼠标改成手的形状 */
  cursor: pointer;
}
</style>